package com.aps.common.service;

import com.aps.common.boot.CoreApplicationContext;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.Map;

/**
 * @Author nbZhuozh
 * @Date 2025-09-13  13:57
 *
 * 开发、测试、演示环境使用
 **/
@Service
@Slf4j
public class TestGenericService {

    /**
     * 开发环境 使用的 租户号
     * @return
     */
    public String getCurrentTenantId() {
        try {
            String tenantId = CoreApplicationContext.getEnvironment().getProperty("aps.tenant-id");
            if (tenantId == null || tenantId.trim().isEmpty()) {
                log.warn("未配置 aps.tenantId 属性，使用默认值: 1");
                return "1";
            }
            return tenantId;
        } catch (Exception e) {
            log.error("获取租户ID失败，使用默认值: 1", e);
            return "1";
        }
    }


    /**
     * 获取当前用户ID
     */
    public String getCurrentUserId() {
        try {
            String userId = CoreApplicationContext.getEnvironment().getProperty("aps.userid");
            if (userId == null || userId.trim().isEmpty()) {
                log.warn("未配置 aps.userid 属性，使用默认值: testtadmin");
                return "testtadmin";
            }
            return userId;
        } catch (Exception e) {
            log.error("获取userid失败，使用默认值: testtadmin", e);
            return "testtadmin";
        }
    }

    /**
     * 获取当前用户名称
     */
    public String getCurrentUserName() {
        try {
            String userName = CoreApplicationContext.getEnvironment().getProperty("aps.username");
            if (userName == null || userName.trim().isEmpty()) {
                log.warn("未配置 aps.username 属性，使用默认值: 开发者");
                return "开发者";
            }
            return userName;
        } catch (Exception e) {
            log.error("获取username失败，使用默认值: 开发者", e);
            return "开发者";
        }
    }

}
